package com.foreveross.dao;

import java.util.List;

import com.foreveross.vo.ExpressCompany;
import com.foreveross.vo.HrCode;
import com.foreveross.vo.HrHouses;
import com.foreveross.vo.ProductType;


public interface DDManagerDAO  {	
	
	public <T extends Object> void save(T entity) throws Exception;
	
	public <T> void remove(T entity) throws Exception;

	public Object findById(Class clazz,String id) throws Exception;
	
	public Object findByIntId(Class clazz,int id) throws Exception;
		
	public <T extends Object> T updateObject(T t) throws Exception;
	
	public List<HrCode> getCodeList(String type,String typeName,String houseId) throws Exception;
	
	public List<HrCode> findCodeList(String type,String typeName,String codeDesc,String houseId,int pageIndex,int pageSize) throws Exception;
	
	public long findCodeListCount(String type,String typeName,String codeDesc,String houseId) throws Exception;

	public void deleteCode(String codeId) throws Exception;
	
	public void deleteSysCodeHouserByCode(String codeId) throws Exception;

	public long findProductTypeListCount(ProductType productType) throws Exception;

	public List<ProductType> findProductTypeList(ProductType productType,
			int pageIndex, int pageSize) throws Exception;

	public void deleteProductType(String id) throws Exception;

	public long findExpressCompanyCount(String name ) throws Exception;

	public List<ExpressCompany> findExpressCompanyList(String name,
			int pageIndex, int pageSize) throws Exception;

	public void deleteExpressCompanyList(String id) throws Exception;
	
	public List<ExpressCompany> findAllExpressCompany() throws Exception;

	public List<HrHouses> findHouseListByCode(String codeId) throws Exception;

	
	
	
}